In application/operating system (OS) monitoring environments or client-server environments, a server, a group of servers or a cluster of servers may communicate with multiple clients. For example, clients may include virtual machines (VMs), Internet of Things (IoT) gateways, cross cloud infra, computing devices, and the like. In client-server environments, a server may communicate with multiple clients, with each client having an agent to collect performance data/metrics from underlying OS and/or services on the client and report the data to the server for storage and performance analysis.
Further, resource such as a central processing unit (CPU), memory, input/output (I/O), network and the like, may play a role in troubleshooting any performance related issues. Each OS vendor may have different mechanisms/options to obtain the performance data associated with such resources. In some mechanisms, a command may need to be run on the clients separately for each of the parameters, with different options. For example, the command may list the processes based on CPU usage as a default parameter. In such cases, the command may need to be run separately to get the data based on memory, I/O, and other parameters. Further, the data of the clients may be sent to a centralized server, which may be tasked with collating and computing the data, storing the data, and then using the data to generate relevant user interface (UI) reports. In such cases, the task of collating and computing the data may consume significant compute and storage resources on the server.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present subject matter in any way.